package cn.b.sky.mes.hr.service.impl;

import java.util.List;

import javax.annotation.Resource;

import cn.b.sky.mes.hr.service.PersonnelConfirmService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import cn.b.sky.mes.hr.dao.PersonnelConfirmDao;
import cn.b.sky.mes.hr.model.PersonnelConfirm;
import cn.b.sky.mes.hr.model.condition.PersonnelConfirmCondition;

@Service("personnelConfirmService")
public class PersonnelConfirmServiceImpl implements PersonnelConfirmService {

  @Resource
  private PersonnelConfirmDao personnelConfirmDao;

  @Override
  public List<PersonnelConfirm> getPersonnelConfirmListByCondition(PersonnelConfirmCondition condition) {
    if (StringUtils.isBlank(condition.getOrderField())) {
      condition.setOrderField("createDateTime");//人员编号排序
    }
    return personnelConfirmDao.selectPersonnelConfirmByCondition(condition);
  }

  @Override
  public int getPerformanceCountByCondition(PersonnelConfirmCondition condition) {
    if (condition == null) {
      return 0;
    }
    return personnelConfirmDao.selectPersonnelConfirmCountByCondition(condition);
  }

  @Override
  public void savePersonnelConfirm(PersonnelConfirm personnelConfirm) {
    if (personnelConfirm != null) {
      personnelConfirmDao.insertPersonnelConfirm(personnelConfirm);
    }
  }

  @Override
  public PersonnelConfirm getPersonnelConfirmById(Long id, String siteCode) {
    if (null == id) {
      return null;
    }
    return personnelConfirmDao.selectPersonnelConfirmById(id, siteCode);
  }

  @Override
  public void updatePersonnelConfirm(PersonnelConfirm personnelConfirm) {
    if (personnelConfirm != null) {
      personnelConfirmDao.updatePersonnelConfirm(personnelConfirm);
    }

  }

  @Override
  public void deletePersonnelConfirmById(Long valueOf) {
    if (valueOf != null) {
      personnelConfirmDao.deletePersonnelConfirmById(valueOf);
    }
  }

  @Override
  public int getPerformanceCountByCheck(PersonnelConfirm personnelConfirm) {
    return personnelConfirmDao.getPerformanceCountByCheck(personnelConfirm);
  }

}
